Clarifications on the fighting system - AP/DP calculations
Since a lot of players seem to be confused about how the fighting system works and how the total AP/DP are calculated, we decided to explain it as clearly as possible. Preface Some players approached us with questions or concerns such as "it seems that from one day to another, my hits with the same setup on the same target that also has the same setup change". To answer this concern simply: it can't be. The fight results, the AP/DP are being calculated with maths formulas, the formula can't change itself and no-one changed it since we released the app. Now, some explanations on how everything is calculated. Calculations behind the AP/DP and the fighting system AP and DP are calculated according the following things: - arsenal --> weapons, armor, vehicules; - stats --> AP/DP * mob size /8 (for example, you have 50 mobs and 5 AP, your AP is increased by 5*6=30. Why 6? Because 50/8=6.25, the value is truncated, which gives 6. Same goes for DP); - % bonus of AP and DP owing to achievements and city control bonuses. Once the player's AP and DP are calculated, a ratio is made to calculate damages. Maximum damages method of calculation: if the player isn't level50, the max damages ratio is 40, if the player is level50, the max damages ratio is 45. If the player has more than 20 achievements, ''the ratio is the basic max damages +10. '''Once' the damages from the attacker and the defender are calculated, then' we apply the effects from specializations.' The % bonus or malus from specs happen there, that's why some damages can seem over the edge (for example, this is now that the code takes into consideration finisher, counter-attack, bulletproof and sharpshooter points). And now, for the nerds (I didn't quote your name, Winter :P), the code, if you want to check how it works. if($ap>=$dp*2) { $attacker_damage=mt_rand(30,$max); $defender_damage=mt_rand(1,3); } else if($ap>=$dp*1.6){ $attacker_damage=mt_rand(25,$max-5); $defender_damage=mt_rand(2,8); } else if($ap>=$dp*1.2){ $attacker_damage=mt_rand(17,$max-10); $defender_damage=mt_rand(10,20); } else if($ap>=$dp){ $attacker_damage=mt_rand(10,$max-20); $defender_damage=mt_rand(10,20); } else if($dp>=$ap*2){ $attacker_damage=mt_rand(1,3); $defender_damage=mt_rand(16,33); } else if($dp>=$ap*1.6){ $attacker_damage=mt_rand(2,8); $defender_damage=mt_rand(15,25); } else if($dp>=$ap*1.2){ $attacker_damage=mt_rand(10,15); $defender_damage=mt_rand(14,20); } else if($dp>=$ap){ $attacker_damage=mt_rand(10,15); $defender_damage=mt_rand(10,15); } Frequently Asked Questions Q: According to this formula, why do I still happen to lose fights if the fighting screens shows that I have a 400AP advantage? A: It can happen and is totally legit. Fights are not only won according to your arsenal and stats. As explained above, if the enemy has less DP but more achievements, the base DP is increased, plus defensive specs such as bulletproof kick in after the AP/DP of the attacker/defender calculations. For example, if you have high AP owing to your stats and arsenal, but your targets has more bulletproof points than your sharpshooter points and more achievements than you, and/or his family has a better city control bonus, he still can win fights. Q: Is it possible that some days I hit harder or less hard than some other days? A: No. If your hits are weaker than usually, maybe your opponents changed his stats or specs or got himself some new achievements. You can also make sure whether his family has a better bonus for controling the city where you fight or not. The fights are being calculated mathematically and the formula doesn't change by itself (and we won't change it without letting you know and asking for your input).